package persistencia;

import entidades.Fornecedor;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import negocio.Central;
import negocio.Util;

public class FornecedorDAO {
    
    String csv = "bd/fornecedor.csv";
    
    public ArrayList<Fornecedor> carrega() throws FileNotFoundException, IOException{
        ArrayList<Fornecedor> fornecedorArray = new ArrayList<Fornecedor>();
        BufferedReader br = new BufferedReader(new FileReader(csv));
        String l = br.readLine();
        while(l!=null){
            String[] lsplit = l.split(";");
            Fornecedor f = new Fornecedor();
            f.setIdFornecedor(Integer.parseInt(lsplit[0].trim()));
            f.setNome(lsplit[1].trim());
            f.setCNPJ(lsplit[2].trim());
            f.setTelefone(lsplit[3].trim());
            fornecedorArray.add(f);
            l=br.readLine();
        }
        br.close();
        return fornecedorArray;
    }
    
    public void insere(Fornecedor f) throws IOException{
        BufferedWriter bw = new BufferedWriter(new FileWriter(csv,true));
        bw.write(f.getIdFornecedor()+";"+f.getNome()+";"+f.getCNPJ()+";"+f.getTelefone()+"\n");
        bw.close();
    }
    
    public void remove(ArrayList<Fornecedor> fornecedorArray, Fornecedor fRemove) throws IOException{
        Util.criaArquivo(csv);
        for(Fornecedor f : fornecedorArray){
            if (!f.equals(fRemove)) insere(f);
        }
    }
    
    public void modifica(ArrayList<Fornecedor> fornecedorArray) throws IOException{
        Util.criaArquivo(csv);
        for(Fornecedor f : fornecedorArray){
            insere(f);
        }
    }
}
